import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// 导入其他模块的vuex数据
import app from './modules/app' // 处理了菜单折叠展开状态数据持久化（vuex+cookie)
import settings from './modules/settings' // 菜单头部固定和logo数据状态的管理
import user from './modules/user' // 用户管理登录相关（如token）数据在这里管理（咱们开发需要使用的）

// 注册vuex
Vue.use(Vuex)
// 初始化粗恶习=>得到一个vuex实例
const store = new Vuex.Store({
  // 挂载子模块
  modules: {
    app,
    settings,
    user
  },
  // 快捷方式 => 方便获取子模块state数据
  getters
})
// 导出vuex实例
/**
 * 导出store目的
 * 1、可以在其他模块js文件中导入=>获取state数据、调用action（发送后台请求）等
 * 2、在main.js导入store挂载
 */
export default store
